package com.xiaoshuidi.cloud.module.rooms.repository.irepository;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xiaoshuidi.cloud.module.rooms.controller.admin.roomequipment.vo.RoomEquipmentPageReqVO;
import com.xiaoshuidi.cloud.module.rooms.controller.admin.roomequipment.vo.RoomEquipmentPageResp;
import com.xiaoshuidi.cloud.module.rooms.controller.admin.roomequipment.vo.RoomEquipmentQueryPd;
import com.xiaoshuidi.cloud.module.rooms.controller.admin.roomequipment.vo.RoomEquipmentQueryResp;
import com.xiaoshuidi.cloud.module.rooms.pojo.RoomEquipment;

import java.util.List;

/**
 * @Author Feng
 * @date 2023/4/27
 */
public interface IRoomEquipmentRepository extends IService<RoomEquipment> {

    Long countByCode(String code);

    IPage<RoomEquipmentPageResp> pageRoomEquipmentByRoomId(RoomEquipmentPageReqVO reqVO);

    List<RoomEquipment> exportRoomEquipment(LambdaQueryWrapper<RoomEquipment> wrapper);

    RoomEquipmentQueryResp queryRoomEquipmentById(Integer id);

    List<RoomEquipmentQueryResp> getByRoomId(Long roomHouseId);

    List<RoomEquipmentQueryPd> queryPdList(List<Long> apartmentIds);

    Boolean unbindingEquipment(Long roomId);

    List<RoomEquipment> getByRoomIds(List<Long> roomHouseIds);
}
